Speed control systems and methods for decreasing power consumption in rotating storage devices

ABSTRACT

A speed control system for a rotating storage device including a mode selection module configured to select an operating mode or a standby mode to operate the rotating storage device based on use of the rotating storage device and to select the standby mode after a first predetermined period during which reading and writing to the rotating storage device is not performed. The first predetermined period is selected based on a type of device in which the rotating storage device is implemented. The speed control system includes a speed control module configured to select a predetermined operating speed to rotate a storage medium of the rotating storage device when the operating mode is selected and to select a predetermined standby speed to rotate the storage medium when the standby mode is selected. The predetermined standby speed is (i) less than the predetermined operating speed and (ii) greater than zero.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.60/986,101, filed on Nov. 7, 2007. The disclosure of the aboveapplication is incorporated herein by reference in its entirety.

FIELD

The present disclosure relates to rotating storage devices and moreparticularly to speed control systems for rotating storage devices.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent the work is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

Rotating storage devices include optical disc drives and hard diskdrives. Both optical disc drives and hard disk drives generally includea spindle motor that rotates an optical disk or one or more platters,respectively, to a relatively constant operating speed for readingand/or writing. When operating, the spindle motors tend to consumerelatively high power. Since rotating storage devices may be included inportable computing devices, power consumption of the rotating storagedevice may be a relatively important performance consideration.

Conventional rotating storage devices tend to operate in two modes. Whenin an operating mode, the spindle motor maintains the speed of theoptical disc or platter at a predetermined speed. When shut down, theoptical disc or platter is not rotated. Additional performanceconsiderations of rotating storage devices include latency whenaccessing data. When attempting to read or write data to the rotatingstorage device that is shut down, the spindle motor must spin up theoptical disc or platter, regulate the speed, and then initiate read orwrite access. These operations delay reading and/or writing operations.

SUMMARY

A speed control system for a rotating storage device comprises a modeselection module and a speed selection module. The mode selection moduleselects one of an operating mode and a standby mode of the rotatingstorage device based on use of the rotating storage device. The speedcontrol module selects a predetermined operating speed when theoperating mode is selected and selects a predetermined standby speedthat is less than the predetermined operating speed and greater thanzero when the standby mode is selected.

In other features, the mode selection module selects the standby modeafter a first predetermined period during which reading and writing tothe rotating storage device is not performed.

In further features, the mode selection module further includes ashutdown mode. The mode selection module selects the shutdown mode aftera second predetermined period during which reading and writing to therotating storage device is not performed. The second predeterminedperiod is greater than the first predetermined period, and a shutdownspeed is equal to zero.

In other features, the mode control module transitions from the standbymode to the operating mode when at least one of a read command and awrite command for the HDD is received.

In further features, the speed control system further comprises a speedmonitoring module. The speed monitoring module determines a speed of therotating storage device based on back electromotive force (bemf) of aspindle motor that rotates the rotating storage device.

A hard disk drive (HDD) comprises the speed control system and a spindlemotor. The spindle motor rotates a platter of the HDD.

An optical disc drive comprises the speed control system and a spindlemotor. The spindle motor rotates an optical disc of the optical discdrive.

A method for a rotating storage device comprises: selecting one of anoperating mode and a standby mode of the rotating storage device basedon use of the rotating storage device; controlling a speed of therotating storage device based on a predetermined operating speed whenthe operating mode is selected; and controlling the speed based on apredetermined standby speed that is less than the predeterminedoperating speed and greater than zero when the standby mode is selected.

In other features, the method further comprises selecting the standbymode after a first predetermined period during which reading and writingto the rotating storage device is not performed.

In further features, the method further comprises selecting a shutdownmode after a second predetermined period during which reading andwriting to the rotating storage device is not performed. The secondpredetermined period is greater than the first predetermined period, anda shutdown speed is equal to zero.

In other features, the method further comprises transitioning fromselecting the standby mode to selecting the operating mode when at leastone of a read command and a write command for the HDD is received.

In still other features, the method further comprises determining thespeed of the rotating storage device based on back electromotive force(bemf) of a spindle motor that rotates the rotating storage device.

In further features, the method further comprises controlling a platterof a hard disk drive (HDD) based on the predetermined operating speedwhen the operating mode is selected and controlling the platter based onthe predetermined standby speed when the standby mode is selected.

In other features, the method further comprises controlling an opticaldisc of an optical disc drive based on the predetermined operating speedwhen the operating mode is selected and controlling the optical discbased on the predetermined standby speed when the standby mode isselected.

A speed control system for a rotating storage device comprises selectingmeans for selecting one of an operating mode and a standby mode of therotating storage device based on use of the rotating storage device andcontrolling means for controlling a speed of the rotating storage devicebased on a predetermined operating speed when the operating mode isselected and for controlling the speed based on a predetermined standbyspeed that is less than the predetermined operating speed and greaterthan zero when the standby mode is selected.

In other features, the selecting means selects the standby mode after afirst predetermined period during which reading and writing to therotating storage device is not performed.

In further features, the selecting means selects a shutdown mode after asecond predetermined period during which reading and writing to therotating storage device is not performed. The second predeterminedperiod is greater than the first predetermined period, and a shutdownspeed is equal to zero.

In other features, the speed control system further comprisestransitioning means for transitioning from selecting the standby mode toselecting the operating mode when at least one of a read command and awrite command for the HDD is received.

In still other features, the speed control system further comprisesdetermining means for determining the speed of the rotating storagedevice based on back electromotive force (bemf) of a spindle motor thatrotates the rotating storage device.

In further features, the controlling means controls a platter of a harddisk drive (HDD) based on the predetermined operating speed when theoperating mode is selected and controlling the platter based on thepredetermined standby speed when the standby mode is selected.

In other features, the controlling means controls an optical disc of anoptical disc drive based on the predetermined operating speed when theoperating mode is selected and controlling the optical disc based on thepredetermined standby speed when the standby mode is selected.

In still other features, the systems and methods described above areimplemented by a computer program executed by one or more processors.The computer program can reside on a computer readable medium such asbut not limited to memory, nonvolatile data storage, and/or othersuitable tangible storage mediums.

The computer program comprises selecting one of an operating mode and astandby mode of the rotating storage device based on use of the rotatingstorage device, controlling a speed of a rotating storage device basedon a predetermined operating speed when the operating mode is selected,and controlling the speed based on a predetermined standby speed that isless than the predetermined operating speed and greater than zero whenthe standby mode is selected.

In further features, the computer program further comprises selectingthe standby mode after a first predetermined period during which readingand writing to the rotating storage device is not performed.

In still further features, the computer program further comprisesselecting a shutdown mode after a second predetermined period duringwhich reading and writing to the rotating storage device is notperformed. The second predetermined period is greater than the firstpredetermined period, and a shutdown speed is equal to zero.

In other features, the computer program further comprises transitioningfrom selecting the standby mode to selecting the operating mode when atleast one of a read command and a write command for the HDD is received.

In further features, the computer program further comprises determiningthe speed of the rotating storage device based on back electromotiveforce (bemf) of a spindle motor that rotates the rotating storagedevice.

In other features, the computer program further comprises controlling aplatter of a hard disk drive (HDD) based on the predetermined operatingspeed when the operating mode is selected and controlling the platterbased on the predetermined standby speed when the standby mode isselected.

In still other features, the computer program further comprisescontrolling an optical disc of an optical disc drive based on thepredetermined operating speed when the operating mode is selected andcontrolling the optical disc based on the predetermined standby speedwhen the standby mode is selected.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description, the claims and the drawings. Itshould be understood that the detailed description and specific examplesare intended for purposes of illustration only and are not intended tolimit the scope of the disclosure.

BRIEF DESCRIPTION OF DRAWINGS

The present disclosure will become more fully understood from thedetailed description and the accompanying drawings, wherein:

FIG. 1 is a functional block diagram of an exemplary rotating storagedevice according to the present disclosure;

FIGS. 2A-2B are functional block diagrams of exemplary HDD speed controlsystems according to the present disclosure;

FIG. 3 is an illustration of operation of HDD speed control systemsaccording to the present disclosure; and

FIG. 4 is a flowchart depicting exemplary steps performed by HDD speedcontrol systems according to the present disclosure.

DESCRIPTION

The following description is merely exemplary in nature and is in no wayintended to limit the disclosure, its disclosure, or uses. For purposesof clarity, the same reference numbers will be used in the drawings toidentify similar elements. As used herein, the phrase at least one of A,B, and C should be construed to mean a logical (A or B or C), using anon-exclusive logical or. It should be understood that steps within amethod may be executed in different order without altering theprinciples of the present disclosure.

As used herein, the term module refers to, is part of, or includes anApplication Specific Integrated Circuit (ASIC), an electronic circuit, aprocessor (shared, dedicated, or group) and/or memory (shared,dedicated, or group) that execute one or more software or firmwareprograms, a combinational logic circuit, and/or other suitable hardwarecomponents that provide the described functionality.

The present disclosure relates to rotating storage devices such asoptical disc drives and hard disk drives. While the present disclosureis described in conjunction with a hard disk drive, the presentdisclosure also applies to optical disc drives.

The rotational speed of a platter of a hard disk drive (HDD) iscontrolled at a predetermined operating speed during reading data fromand/or writing data to the platter. While one platter is describedherein, the HDD may include two or more platters. Maintaining the speedof the platter at the predetermined operating speed consumes power. Insome circumstances, the speed may be maintained at the predeterminedoperating speed during periods when data is not written to or read fromthe platter. This generally done to minimize latency that wouldotherwise occur when spinning up the platter to the predeterminedoperating speed. Conventional HDDs typically shut down after apredetermined period of inactivity. Once shut down, the platter needs tospin up from rest before reading or writing can occur.

A HDD speed control system according to the principles of the presentdisclosure controls the speed of the platter at the predeterminedoperating speed when reading or writing data. After a predeterminedstandby period during which there is no activity, the HDD speed controlsystem reduces the speed to a predetermined standby speed. In someimplementations, after a predetermined shutdown period, the HDD speedcontrol system may shut down the spindle motor. The predeterminedstandby speed is less than the predetermined operating speed and greaterthan zero. Controlling the speed at the predetermined standby speedreduces power consumption while reducing latency when returning to theoperating mode.

Referring now to FIG. 1, an exemplary hard disk drive (HDD) system 100includes a HDD printed circuit board (PCB) 102. A memory module such asbuffer 104 stores read, write, and/or volatile control data that isassociated the control of the HDD system 100. The buffer 104 usuallyemploys volatile memory having low latency. For example, SDRAM, doubledata rate (DDR) SDRAM, or other types of low latency memory may be used.Nonvolatile memory such as flash memory may also be provided to storecritical data such as nonvolatile control code.

A processor 106 arranged on the HDD PCB 102 performs data and/or controlprocessing that is related to the operation of the HDD system 100. Ahard disk control (HDC) module 108 communicates with an input/outputinterface 110, a spindle/voice coil motor (VCM) driver or module 112,and/or a read/write channel module 114. The HDC module 108 coordinatescontrol of the spindle/VCM module 112, the read/write channel module114, the processor 106, and data input/output with a host 116 via theinterface 110. The HDD PCB 102 also includes a power supply 118 thatsupplies power for the HDD PCB 102. The power supply 118 may also supplypower for a hard disk drive assembly (HDDA) 120.

The HDDA 120 includes one or more hard drive platters 122 that includemagnetic coatings that store magnetic fields. The platters 122 arerotated by a spindle motor that is schematically shown at 124.Generally, the spindle motor 124 rotates the platters 122 at apredetermined speed during the read/write operations. The spindle/VCMmodule 112 controls the spindle motor 124 and, therefore, rotationalspeed of the platters 122.

One or more read/write arms 126 move relative to the platters 122 toread data from the platters 122 and/or write data to the platters 122.The spindle/VCM module 112 controls an arm actuator 128, which controlsthe position the read/write arm 126. For example, the arm actuator 128may include a voice coil actuator, a stepper motor or any other suitableactuator.

A read/write device 130 is located near a distal end of the read/writearm 126. The read/write device 130 includes a write element such as aninductor that generates a magnetic field. The magnetic field alters themagnetic composition of the magnetic coating of the platters 122. Inthis manner, the read/write device 130 stores data on the platters 122.The read/write device 130 also includes a read element (such as amagneto-resistive (MR) element). The read element senses the magneticfield on the platters 122.

During write operations, the read/write channel module 114 encodes datathat is to be written with the read/write device 130. The read/writechannel module 114 processes the write signal for reliability and mayapply, for example, error correction coding (ECC), run length limitedcoding (RLL), and the like.

During read operations, the read/write channel module 114 converts ananalog read signal that is output by the read/write device 130 into adigital read signal. The digital read signal is then detected anddecoded by known techniques to recover the data that was written on theplatters 122. The data can then be sent to the host 116 via theinterface 110.

Portions of the HDD system 100 may be implemented by one or moreintegrated circuits (IC) or chips. For example, the processor 106 andthe HDC module 108 may be implemented by a single chip. The spindle/VCMmodule 112 and/or the read/write channel module 114 may also beimplemented by the same chip as the processor 106, the HDC module 108and/or by additional chips. Alternatively, most of the HDD system 100other than the HDDA 120 may be implemented as a system on chip (SOC).

The HDDA 120 includes a preamplifier circuit or module 132 thatamplifies the analog read/write signals. When reading data, thepreamplifier 132 amplifies low level signals from the read element ofthe read/write device 130 and outputs the amplified signal to theread/write channel module 114. When writing data, the preamplifier 132generates a write current that flows through the write element of theread/write device 130. The write current is switched to produce amagnetic field having a positive or negative polarity. The positive ornegative polarity is stored on one or more of the platters 122 and isused to represent data.

The host 116 transmits data to the HDC module 108 and receives data fromthe HDC module 108 via the interface 110. For example, the host 116transmits write data to be written to a hard disk drive assembly (HDDA)120 to the HDC module 108. The HDC module 108 transmits data read fromthe HDDA 120 to the host 116.

The HDC module 108 also receives commands for the HDDA 120 via theinterface 110. For example only, the commands may include read commands,write commands, shutdown commands, and other suitable commands. The HDCmodule 108 controls the HDDA 120 based on received commands. Morespecifically, the HDC module 108 coordinates operation of variouscomponents of the HDDA 120 when writing data to the platters 122 and/orreading data from the platters 122.

The HDC module 108 transmits data to be written to the read/writechannel module 114 which encodes the data. The read/write channel module114 transmits the encoded data to the preamplifier 132. The preamplifier132 provides signals to the write element of the read/write device 130,which writes the data to the platters 122.

The HDC module 108 also controls operation of the spindle/VCM module 112when the write command is received. For example, the HDC module 108transmits commands to the spindle/VCM module 112 for the write command.The spindle/VCM module 112 controls the arm actuator 128 based on thecommands, which positions the read/write arm 126 accordingly.

The HDC module 108 also coordinates control of the spindle motor 124.The spindle/VCM module 112 controls the spindle motor 124 and,therefore, the rotational speed of the platters 122 based on commandsreceived from the HDC module 108. The spindle/VCM module 112 generallycontrols the speed of the platters 122 based on a predeterminedoperating speed during read/write operations. For example only, thepredetermined operating speed may be set to 3600, 7200, or 15000revolutions per minute (rpm), although other speeds may be used.

In some circumstances, the host 116 may transmit a shutdown command tothe HDC module 108 for the HDDA 120. For example only, the host 116 maytransmit the shutdown command when a user initiates a shutdown of thedevice in which the HDD system 100 is implemented. The HDD may alsodecide to shutdown based on inactivity.

The HDC module 108 commands the spindle/VCM module 112 to shutdown theHDDA 120 when the shutdown command is received. In variousimplementations, the spindle/VCM module 112 may actively reduce theplatter speed. For example, the spindle/VCM module 112 may supply asignal to the spindle motor 124 to accomplish braking and then removethe signal when the speed is zero. In other implementations, thespindle/VCM module 112 disables the flow of power to the spindle motor124 when the shutdown command is received. Disabling the flow of powerallows friction to naturally decrease the platter speed. When a readand/or write command is received after the HDDA 120 is shutdown, the HDCmodule 108 commands the spindle/VCM module 112 to increase the speed ofthe platters 122 to the predetermined operating speed.

In some systems, the spindle/VCM module 112 maintains the platter speedat the predetermined operating speed despite inactivity for apredetermined period without reading data from or writing data to theplatters 122. This approach improves latency at the expense of powerconsumption.

The speed control system according to the present disclosure controlsthe speed of the platters 122 based on a predetermined standby speed.For example only, the speed may be reduced from the predeterminedoperating speed to the predetermined standby speed when inactivityoccurs for a predetermined period. In other words, the HDD speed controlsystem controls the platter speed based on the predetermined standbyspeed when inactivity occurs for the first predetermined period. Thepredetermined standby speed may be set to a speed that is less than thepredetermined operating speed and greater than 0 rpm. For example only,the predetermined standby speed may be set to approximately 500 rpm.

In some implementations, the predetermined standby speed is at least 10%less than the predetermined operating speed. In other implementations,the predetermined standby speed is at least 20% less than thepredetermined operating speed. In still other implementations, thepredetermined standby speed is at least 30% less than the predeterminedoperating speed.

For example only, the predetermined operating speed may be set to 7200rpm and the predetermined standby speed may be set to 5400 rpm. Stillother speeds may be used.

Referring now to FIGS. 2A and 2B, a functional block diagram of anexemplary HDD speed control system 300 is presented. The HDD speedcontrol system 300 may include a monitoring module 302, a mode selectionmodule 304, a speed control module 306, and a speed monitoring module308. The HDD speed control system 300 also includes a timer module 310.The timer module 310 may be implemented in any suitable manner, such asin memory.

The monitoring module 302 monitors commands received from the host 116,another device, or another module of the HDD. For example only, themonitoring module 302 may indicate when at least one of a read commandand a write command is received from the host. The monitoring module 302may also indicate when a shutdown command is received from the host 116.The command can be received from, for example, a user of a devicecomprising the HDD, the host 116, another module of the HDD, and/or anyother suitable source.

The timer module 310 determines time elapsed since a read command, awrite command, or other commands have occurred. For example only, thetimer module 310 may determine the amount of time since data was atleast one of written to or read from the platters 122. The timer module310 may be reset when the monitoring module 302 indicates that a commandhas been received.

The HDDA 120 operates in a read/write mode, a standby mode, or ashutdown mode. The mode selection module 304 selects one of the modeswhile disabling the other modes of operation of the HDDA 120.

The mode selection module 304 selects one of the read/write mode and thestandby mode based on the period of time indicated by the timer module310. More specifically, the mode selection module 304 selects thestandby mode when the period of time indicated by the timer module 310is greater than the predetermined standby period. If not, the modeselection module selects the read/write mode of the HDDA 120. In someimplementations, the mode selection module 304 selects the shutdown modewhen the period of time indicated by the timer module 310 is greaterthan the predetermined shutdown period.

The predetermined standby period may be set based on a variety ofcharacteristics, such as the device in which the HDDA 120 isimplemented, desired power savings, and/or any other suitablecharacteristics. For example only, the predetermined standby period maybe shorter if increased power savings is desired.

The speed control module 306 controls the rotational speed of theplatters 122 via the spindle motor 124. The speed control module 306controls the platter speed based on the selected mode of operation.

The speed monitoring module 308 monitors the rotational speed of theplatters 122 and provides the platter speed to the speed control module306. In this manner, the speed monitoring module 308 provides the speedcontrol module 306 with feedback regarding the actual platter speed,which the speed control module 306 uses in controlling the platterspeed. The speed monitoring module 306 may monitor the speed of theplatters 122 in any suitable manner. For example only, the speedmonitoring module 308 may determine the speed of the platters 122 basedon back electromotive force (back emf) of the spindle motor 124.

One or more modules of the HDD speed control system 300 may beimplemented within one or more of the modules of the HDD system 100,such as is shown in an exemplary HDD speed control system 350 of FIG.3B. For example only, the activity monitoring module 302, the modeselection module 304, and the timer module 310 may be implemented withinthe HDC module 108. The speed control module 306 and the speedmonitoring module 308 may be implemented within the spindle/VCM module112.

Referring now to FIG. 3, operation of the HDD speed control system 300is illustrated. Line 402 corresponds to whether the standby mode of theHDDA 120 is selected (i.e., ON). Line 404 corresponds to the rotationalspeed of the platters 122 of the HDDA 120. The speed control module 306controls the speed of the platters 122 based on the selected mode ofoperation.

At time zero, the mode selection module 304 selects the read/write modeof operation and the standby mode is not selected (i.e., OFF). The speedcontrol module 306 controls the speed of the platters 122 based on thepredetermined operating speed (Speed₁). At time 406, however, the modeselection module 304 selects the standby mode as shown by line 402.

The mode selection module 304 selects the standby mode when thepredetermined standby period has elapsed without activity. For exampleonly, the mode selection module 304 selects the standby mode when datahas not been written to or read from the platters 122 for thepredetermined standby period.

When the standby mode is selected, the speed control module 306 controlsthe platter speed based on the predetermined standby speed (Speed₂). Thepredetermined standby speed is less than the predetermined operatingspeed and is greater than 0 rpm. The speed control module 306 decreasesthe platter speed toward the predetermined standby speed as shown byline 404 between times 406 and 410. The speed control module 306 maydecrease the speed of the platters 122 in any suitable manner. Forexample, the speed control module 306 may disable the supply of power tothe spindle motor 124 and allow the inertia of the platters 122 tonaturally decrease the platter speed.

While the platter speed is decreasing toward the predetermined standbyspeed, the standby mode can be de-selected. For example, the modeselection module 304 can de-select the standby mode and select theread/write mode or the shutdown mode when a read/write command or ashutdown command is received, respectively.

A read command and/or a write command is received at time 410.Accordingly, the mode selection module 304 selects the read/write modeand de-selects the standby mode at time 410, as shown by line 402. Thespeed control module 306 then increases the platter speed as shown byline 404 and controls the platter speed based on the predeterminedoperating speed.

Referring now to FIG. 4, a flowchart depicting exemplary steps performedby the speed control system of the present disclosure is presented.Control begins with step 502. In step 504, control selects the operatingmode. In step 508, control sets the platter speed based on the operatingspeed.

In step 512, control determines whether the rotating storage device isinactive. If step 512 is false, control resets the timer and continueswith step 508. If step 512 is true, control determines in step 520whether the timer is in a reset state. If step 520 is true, controlstarts the timer in step 524 and control returns to step 508. If step520 is false and the timer is not in a reset state (or counting theinactivity), control determines whether the timer is greater than astandby period in step 530. If step 530 is false, control returns tostep 508. If step 530 is true, control starts a second timer in step534.

In step 540, control decreases platter speed based on the standby speed.In step 544, control determines whether the platter speed is greaterthan the standby speed. If step 544 is true, control returns to step540. If step 544 is false, control continues with step 548 and controlsthe platter speed based on the standby speed.

In step 552, control determines whether there is a read or writerequest. If step 552 is true, control returns to step 504. If step 552is false, control determines whether a shutdown request has been made.If step 560 is false, control continues with step 564 and determineswhether the second timer is up. If steps 560 or 564 are true, controlcontinues with step 568 and shuts down the rotating storage device.

In step 574, control determines whether the rotating storage deviceshould return to the operating mode. This may occur for various reasonssuch as a host request, a read/write request, and/or any other suitablepurpose. Control waits if step 574 is false. If step 574 is true,control returns to step 504.

Those skilled in the art can now appreciate from the foregoingdescription that the broad teachings of the disclosure can beimplemented in a variety of forms. Therefore, while this disclosureincludes particular examples, the true scope of the disclosure shouldnot be so limited since other modifications will become apparent upon astudy of the drawings, the specification, and the following claims.

1. A speed control system for a rotating storage device, the speedcontrol system comprising: a mode selection module configured to selectan operating mode or a standby mode to operate the rotating storagedevice based on use of the rotating storage device, and select thestandby mode after a first predetermined period during which reading andwriting to the rotating storage device is not performed, wherein thefirst predetermined period is selected based on a type of device inwhich the rotating storage device is implemented; and a speed controlmodule configured to select a predetermined operating speed to rotate astorage medium of the rotating storage device when the operating mode isselected, and select a predetermined standby speed to rotate the storagemedium when the standby mode is selected, wherein the predeterminedstandby speed is (i) less than the predetermined operating speed and(ii) greater than zero.
 2. The speed control system of claim 1, wherein:the mode selection module is further configured to select a shutdownmode after a second predetermined period during which reading andwriting to the rotating storage device is not performed, wherein thesecond predetermined period is greater than the first predeterminedperiod; and the speed control module is further configured to select ashutdown speed to rotate the storage medium when the shutdown mode isselected, wherein the shutdown speed is equal to zero.
 3. The speedcontrol system of claim 1, wherein the mode control module is furtherconfigured to transition from selecting the standby mode to selectingthe operating mode when at least one of a read command and a writecommand for the rotating storage device is received.
 4. The speedcontrol system of claim 1, further comprising a speed monitoring moduleconfigured to determine the speed of the storage medium based on backelectromotive force (bemf) of a motor that rotates the storage medium.5. A hard disk drive (HDD) comprising: the speed control system of claim1; a motor that rotates the storage medium; and the storage medium,wherein the storage medium includes a platter of the HDD.
 6. An opticaldisc drive comprising: the speed control system of claim 1; a motor thatrotates the storage medium; and the storage medium, wherein the storagemedium includes an optical disc of the optical disc drive.
 7. The speedcontrol system of claim 1, wherein the speed control module is furtherconfigured to deselect the standby mode while the speed is decreasingfrom the predetermined operating speed to the predetermined standbyspeed.
 8. A method for a rotating storage device, the method comprising:selecting an operating mode or a standby mode to operate the rotatingstorage device based on use of the rotating storage device; selectingthe standby mode after a first predetermined period during which readingand writing to the rotating storage device is not performed, wherein thefirst predetermined period is selected based on a type of device inwhich the rotating storage device is implemented; controlling a speed ofa storage medium of the rotating storage device based on a predeterminedoperating speed when the operating mode is selected; and controlling thespeed of the storage medium based on a predetermined standby speed whenthe standby mode is selected, wherein the standby speed is (i) less thanthe predetermined operating speed and (ii) greater than zero.
 9. Themethod of claim 8, further comprising: selecting a shutdown mode after asecond predetermined period during which reading and writing to therotating storage device is not performed, wherein the secondpredetermined period is greater than the first predetermined period; andselecting a shutdown speed to rotate the storage medium when theshutdown mode is selected, wherein the shutdown speed is equal to zero.10. The method of claim 8, further comprising transitioning fromselecting the standby mode to selecting the operating mode when at leastone of a read command and a write command for the rotating storagedevice is received.
 11. The method of claim 8, further comprisingdetermining the speed of the storage medium based on back electromotiveforce (bemf) of a motor that rotates the storage medium.
 12. The methodof claim 8, further comprising deselecting the standby mode while thespeed is decreasing from the predetermined operating speed to thepredetermined standby speed.